﻿using Bridge.Shared.Models;
using DictDatas.Output;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using SysFiles.Input;
using SysFiles.Output;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;

namespace SysFiles
{
    public interface ISysFileService : IApplicationService
    {
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="uploadDto"></param>
        /// <returns></returns>
        Task<ResponseResult> UploadFile(UploadFileInput uploadDto);

        /// <summary>
        /// 下载文件 
        /// </summary>
        /// <param name="path"></param>
        /// <param name="fileId"></param>
        /// <returns></returns>
        Task<ResponseResult> DownloadFile(string path, long fileId = 0);
        /// <summary>
        /// 根据url删除文件
        /// </summary>
        /// <param name="urls"></param>
        /// <returns></returns>
        Task<ResponseResult> DeleteFileByUrl(List<string> urls);

        /// <summary>
        /// 文件列表
        /// </summary>
        /// <param name="file"></param>
        /// <returns></returns>
        Task<PageResponseResult<SysFileOutput>> GetSysFilesPageList(SysFilePageInput file);
       
    }
}
